package com.example.springcloud.mapper;

import java.util.List;
import com.example.springcloud.domain.Route;
import com.example.springcloud.domain.Path;

/**
 * 路线Mapper接口
 * 
 * @author helian
 * @date 2025-03-01
 */
public interface RouteMapper 
{
    /**
     * 查询路线
     * 
     * @param id 路线主键
     * @return 路线
     */
    public Route selectRouteById(Long id);

    /**
     * 查询路线列表
     * 
     * @param route 路线
     * @return 路线集合
     */
    public List<Route> selectRouteList(Route route);

    /**
     * 新增路线
     * 
     * @param route 路线
     * @return 结果
     */
    public int insertRoute(Route route);

    /**
     * 修改路线
     * 
     * @param route 路线
     * @return 结果
     */
    public int updateRoute(Route route);

    /**
     * 删除路线
     * 
     * @param id 路线主键
     * @return 结果
     */
    public int deleteRouteById(Long id);

    /**
     * 批量删除路线
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteRouteByIds(Long[] ids);

    /**
     * 批量删除途径点
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePathByRouteIds(Long[] ids);
    
    /**
     * 批量新增途径点
     * 
     * @param pathList 途径点列表
     * @return 结果
     */
    public int batchPath(List<Path> pathList);
    

    /**
     * 通过路线主键删除途径点信息
     * 
     * @param id 路线ID
     * @return 结果
     */
    public int deletePathByRouteId(Long id);
}
